SoSe2022

Folienübersicht

Zur Erinnerung

Korrelationstests

Auf Zusammenhänge testen

Korrelation vs. Regression

Korrelation

  • Prüfen von Beziehungen ohne Kausalität.
  • Das Skalenniveau kann ordinal oder metrisch sein.
  • Beide Variablen sind zufällige Variablen, es wird keine manipuliert.
  • Je nach Skalenniveau und Verteilung wird der Korrelationstyp gewählt.

Regression

  • Prüfen von Beziehungen mit Kausalität.
  • Beide Variablen müssen metrisch sein.
  • Unterscheidet in
    • Abhängige oder Antwortvariable Y
    • Unabhängige oder erklärende Variable X; diese wird meist manipuliert.

Charakterisierung bivariater Beziehungen


  • Form (linear, nicht-linear, quadratisch)
  • Richtung (positiv, negativ)
  • Stärke (wie viel Streuung/Rauschen?)
  • Ausreißer

Die Form

  • Zur Berechnung der Korrelation ist eine lineare Beziehung erforderlich.
  • Die Beziehung zwischen zwei Variablen ist allerdings oft nicht linear!
  • Transformation einer oder beider Variablen kann die Beziehung linearisieren.
  • ggplot2 bietet mehrere verschiedene Darstellungsmöglichkeiten transformierter Beziehungen (ohne die Rohdaten zu transformieren):
    • coord_trans() transformiert die Koordinaten des Plots entsprechend der angegebenen Transformation.
    • scale_x_log10() und scale_y_log10() log-transformiert die X- und Y-Achse zur Basis 10.

Die Form

Streudiagramm der Rohdaten

Hier ein Beispiel des möglichen Zusammenhangs zwischen dem Körpergewicht (in kg) und der Gehirnmasse (in g) von Säugetieren (Datensatz mammals aus dem Paket ‘MASS’):

MASS::mammals %>%
ggplot(aes(x = body, y = brain)) + 
  geom_point() 

Die Form

Streudiagramm mit coord_trans()

MASS::mammals %>%
ggplot(aes(x = body, y = brain)) + 
  geom_point() +
  coord_trans(x = "log10", y = "log10")

Die Form

Streudiagramm mit scale_x/y_log10()

MASS::mammals %>%
ggplot(aes(x = body, y = brain)) + 
  geom_point() +
  scale_x_log10() + scale_y_log10()

Quantifizierung der Stärke und Richtung von bivariaten Beziehungen

  • Messgröße: Korrelationskoeffizient
  • Wertebereich: -1 bis +1
    • Das Vorzeichen gibt die Richtung der Beziehung an.
    • Der Betrag die Stärke
      • 0 = keine Korrelation
      • -1 = starke negative Korrelation
      • +1 starke positive Korrelation

→ Dies gilt allerdings nur bei linearen Zusammenhängen!

Streuungsparameter für 1 vs. 2 Variablen

(korrigierte) Varianz von X

\[s^{2} = \frac{1}{n-1}\sum\limits_{i=1}^{n}(x_{i} - \bar{x})^2\]

Standardabweichung von X

\[s=\sqrt{s^{2}}\]

Kovarianz zwischen X und Y

\[Cov(x,y)=\frac{1}{n-1}\sum\limits_{i=1}^{n}(x_i- \bar{x})(y_i- \bar{y})\]

Kovarianz

Grafik

Standardisierung der Kovarianz

Kovarianz

  • Ein Maß für die Stärke einer linearen Beziehung
  • Einschränkung: absolute Größe hängt von den Einheiten der beiden Variablen ab.

\[Cov(X,Y)=\frac{1}{n-1}\sum\limits_{i=1}^{n}(x_i- \bar{x})(y_i- \bar{y})\]

Lösung: Maximale Kovarianz

  • Standardisierung der Kovarianz mit den beiden Standardabweichungen, so dass das Maß der Stärke zwischen -1 und +1 liegt
    • → Pearson Produkt-Moment-Korrelationskoeffizient

\[ Cov(x,y)_{max} = s_x*s_y\]

Parametrischer Korrelationskoeffizient

Pearson Produkt-Moment-Korrelationskoeffizient \(\rho\)

  • Der Korrelationskoeffizient r (bzw. \(\rho\) für die Population) wird durch das Verhältnis zwischen der Kovarianz und der maximalen Kovarianz quantifiziert:

\[r_{x,y} = \frac{Cov(x,y)}{Cov(x,y)_{max}} = \frac{\frac{1}{n-1}\sum\limits_{i=1}^{n}(x_i- \bar{x})(y_i- \bar{y})}{s_x*s_y}\]

  • \(r = \sqrt{R^2}\) → r ist die Quadratwurzel des “Bestimmtheitsmaßes” \(R^2\)
  • \(r = [-1,+1]\) → \(R^2\) ist immer positiv, während \(r\) die Richtung des Zusammenhangs angibt!

Nichtparametrischer Korrelationskoeffizient

1

Spearman’scher Rangkorrelationskoeffizient \(\rho\)

  • Rohwerte \(x_i\), \(y_i\) werden in Ränge \(X_i\), \(Y_i\) umgewandelt.
  • Differenzen zwischen den Rängen der einzelnen Beobachtungen der beiden Variablen werden berechnet: \(D_i = X_i - Y_i\)
  • \(r_s\) ist dann gegeben durch:

\[r_s = 1-\frac{6\sum D_i^2}{n(n^2-1)}~~~\text{mit n = Anzahl der Rangpaare}\]

  • Analog zum Pearson Korrelationskoeffizienten liegt \(r_s\) zwischen -1 und 1 und das Vorzeichen zeigt eine positive oder negative Korrelation an.

Nichtparametrischer Korrelationskoeffizient

2

Kendall’sches Tau \(\tau\)

  • Im Gegensatz zum Spearman’schen \(\rho\) nutzt das Kendall’sche \(\tau\) nur den Unterschied in den Rängen und nicht die Differenz der Ränge. In der Regel ist der Wert des Kendall’schen \(\tau\) etwas kleiner als der Wert des Spearman’schen \(\rho\).
  • \(\tau\) erweist sich darüber hinaus auch für intervallskalierte Daten als hilfreich, wenn die Daten nicht normalverteilt sind, die Skalen ungleiche Teilungen aufweisen oder bei sehr kleinen Stichprobengrößen.

Pearson Korrelation in R

Vektoren

Syntax

cor(x, y, method = "pearson")
# oder alternativ (weil 'pearson' Standard ist):
cor(x, y)
  • x und y sind in diesem Falle einzelne Vektoren.

Beispiel iris

cor(x = iris$Sepal.Length, y = iris$Sepal.Width)
[1] -0.1175698

Pearson Korrelation in R

Matrizen & data frames

  • Es können aber auch ganze Matrizen und data frames an x bzw. x und y übergeben werden (beide müssen numerisch sein!).
    • → dann wird der Korrelationskoeffizient für alle paarweisen Vergleiche der Variablen ausgegeben:

Beispiel iris

cor(x = iris[ ,1:4]) # wichtig: ohne 'species'
             Sepal.Length Sepal.Width Petal.Length Petal.Width
Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
 [ erreichte getOption("max.print") --  2 Zeilen ausgelassen ]

Pearson Korrelationstest

Um zu testen, ob die Beziehung signifikant ist, kann die Funktion cor() erweitert werden zu cor.test():

Syntax

cor.test(x, y, method = "pearson") 
# oder einfach nur 
cor.test(x, y)
  • H0: \(\rho\) ist gleich Null
  • Durchführung eines t-Test mit der Kenngröße \(t = \frac{r}{s_r}\) und den Freiheitsgraden \(n-2\)

Beispiel iris

cor.test(x = iris$Sepal.Length, y = iris$Sepal.Width)
    Pearson's product-moment correlation

data:  iris$Sepal.Length and iris$Sepal.Width
t = -1.4403, df = 148, p-value = 0.1519
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.27269325  0.04351158
sample estimates:
       cor 
-0.1175698 

Nichtparametrische Korrelationskoeffizienten in R

sl <- iris$Sepal.Length
sw <- iris$Sepal.Width
cor(x = sl, y = sw, method = "pearson")
[1] -0.1175698
cor(x = sl, y = sw, method = "spearman")
[1] -0.1667777
cor(x = sl, y = sw, method = "kendall")
[1] -0.07699679
cor.test(x = sl, y = sw, method = "spearman")
    Spearman's rank correlation rho

data:  sl and sw
S = 656283, p-value = 0.04137
alternative hypothesis: true rho is not equal to 0
sample estimates:
       rho 
-0.1667777 
cor.test(x = sl, y = sw, method = "kendall")
    Kendall's rank correlation tau

data:  sl and sw
z = -1.3318, p-value = 0.1829
alternative hypothesis: true tau is not equal to 0
sample estimates:
        tau 
-0.07699679 

Handling von fehlenden Werten

  • Argument use → wähle hier ‘pairwise.complete.obs’ um die paarweisen Werte zu entfernen wenn ein NA vorkommt.
sl[1] <- NA
cor(x = sl, y = sw, method = "pearson")
[1] NA
cor(x = sl, y = sw, method = "pearson", use = "pairwise.complete.obs")
[1] -0.1121059

Übungsaufgabe

Übungen aus…

Kapitel 9 - Korrelation


  • R Notebook-Skripte
    • DS2_09_Übungen.Rmd
    • DS2_09_Übungen_Lösung.Rmd

Abschlussquiz

```{, widget=TRUE} x <- list( q1 = list ( question = “Was ist der Unterschied zwischen einer Korrelation und einer Regression?”, options = c(“Die Korrelation prüft auf Beziehungen mit Kausalität, die Regression ohne Kausalität.”, “Die Korrelation prüft auf Beziehungen ohne Kausalität, die Regression mit Kausalität.”), answer = 2 ), q2 = list ( question = “Welcher der folgenden Optionen is KEIN Charakteristikum von bivariaten Beziehungen?”, options = c(“Ausreißer”, “Stärke”, “Richtung”, “Unterschied der Mittelwerte”, “Form”), answer = 4 ), q3 = list ( question = “Was ist eine wichtige Voraussetzung bei der Korrelation?”, options = c(“Normalität”, “Varianzhomogenität”, “Linearität”), answer = 3 ), q4 = list ( question = “Was ist das Problem bei der Kovarianz als Maß einer linearen Beziehung?”, options = c(“Ihre Größe hängt vom Stichprobenumfang ab.”, “Ihre Größe hängt von den Einheiten beider Variablen ab.”, “Die Kovarianz kann nur eine Aussage über die Gesamtstreuung machen, nicht über die Stärke der Beziehung.”), answer = 2 ), q5 = list ( question = “Der Wertebereich des Korrelationskoeffizienten liegt zwischen..?”, options = c(“-1 und 1”, “0 und 1”, “0 und 100”, “-∞ und +∞”), answer = 1 ), q6 = list ( question = “Ein Koeffizient von -0.82 repräsentiert..?”, options = c(“keine Korrelation”, “eine schwach negative Korrelation”, “eine stark negative Korrelation”), answer = 3 ), q7 = list ( question = “Welcher Korrelationskoeffizient ist für normalverteilte Daten geeignet?”, options = c(“Kendalls τ”, “Pearsons ρ”, “Spearmans ρ”), answer = 2 ), q8 = list ( question = “Was stellt der Pearson Produkt-Moment Korrelationskoeffizient dar?”, options = c(“Die standardisierte Form der Kovarianz.”, “Die standardisierte Form der Varianz.”, “Die standardisierte Form der Mittelwerte.”), answer = 1 ), q9 = list ( question = “Wie hängt der Pearson Koeffizient mit dem Bestimmtheitsmaß der Regression zusammen?”, options = c(“Der Koeffizient stellt die vierte Wurzel des Bestimmtheitsmaßes dar.”, “Der Koeffizient stellt das Quadrat des Bestimmtheitsmaßes dar.”, “Der Koeffizient stellt die Quadratwurzel des Bestimmtheitsmaßes dar.”), answer = 3 ), q10 = list ( question = “Was ist ein Unterschied zwischen dem Spearman’schen und dem Kendall’schen Korrelationskoeffizienten?”, options = c(“Ersterer basiert auf Rangunterschieden, letzterer auf Rangdifferenzen.”, “Ersterer basiert auf Rangdifferenzen, letzterer nur auf Rangunterschieden.”), answer = 2 ) )

rquiz::multiQuestions(x, inclTimer = FALSE) ```

Fragen?